<?php

class XPHEnum
{
    const Value = 0;
    const Caption = 1;
    const Remark = 2;
    const Alternate = 3;
    const Detail = 4;
    public $EnumTypes = array();
    //通过值获取内容
    function show($v){
        $CurCaption = "";
        foreach($this->EnumTypes as $temp){
            if($temp[self::Value] == $v){
                $CurCaption = $temp[self::Caption];
                break;
            }
        }
        return $CurCaption;
    }
    function showByIndex($v,$index){
        $CurCaption = "";
        foreach($this->EnumTypes as $temp){
            if($temp[self::Value] == $v){
                $CurCaption = $temp[$index];
                break;
            }
        }
        return $CurCaption;
    }
    function getAll(){
        return $this->EnumTypes;
    }
    function getAllOneD(){
        $new_array=array();
        foreach($this->EnumTypes as $k=>$v){
            $new_array[]=$v[self::Caption];
        }
        return $new_array;
    }
    function getRemark(){
        $new_array=array();
        foreach($this->EnumTypes as $k=>$v){
            $new_array[]=$v[self::Remark];
        }
        return $new_array;
    }
    function getDetail(){
        $new_array=array();
        foreach($this->EnumTypes as $k=>$v){
            $new_array[]=$v[self::Detail];
        }
        return $new_array;
    }
    
    function showAlt($v){
        $CurCaption = "";
        foreach($this->EnumTypes as $temp){
            if($temp[self::Value] == $v){
                $CurCaption = $temp[self::Alternate];
                break;
            }
        }
        return $CurCaption;
    }

}


//颜色
class CommonColor extends XPHEnum
{
    Const First = array('#FF3333');
    Const Second = array('#FF9933');
    Const Third = array('#E7C837');
    Const Fourth = array('#28B779');
    Const Fifth = array('#00CCFF');
    Const Sixth = array('#CC9933');
    Const Seventh = array('#9999FF');


    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth,self::Sixth,self::Seventh);
    }
}

// 公共状态
class CommonStatus extends XPHEnum
{
    Const UnDeleted = array("1",'未删除');
    Const Deleted = array("0",'已删除');
    
    function __construct(){
        $this->EnumTypes = array(self::UnDeleted,self::Deleted);
    }
}
// 公共是否
class CommonWhether extends XPHEnum
{
    Const Whether = array("1",'是');
    Const Not = array("0",'否');
    
    function __construct(){
        $this->EnumTypes = array(self::Whether,self::Not);
    }
}
//用户类型
class AdminType extends XPHEnum
{
    Const Auth = array("1",'统一认证用户');
    Const SelfAdmin = array("2",'系统用户');

    function __construct(){
        $this->EnumTypes = array(self::Auth,self::SelfAdmin);
    }
}
//系统部门
class AdminDept extends XPHEnum
{
    Const System = array('系统');

    function __construct(){
        $this->EnumTypes = array(self::System);
    }
}

//角色（与表数据同步role表）
class WebRole extends XPHEnum
{
    Const Admin = array("1",'超级管理员');
    Const Teacher = array("2",'教师');
    Const Student = array("3",'学生');
    Const SchoolSupervisor = array("4",'校级督导');
    Const UnitSupervisorGroupLeader = array("5",'二级教学单位督导组长');
    Const UnitSupervisor = array("6",'二级教学单位督导');
    Const ExternalSupervisor = array("7",'外聘教师');
    Const StudentInfoOfficer = array("8",'校级信息员');
    Const UnitStudentInfoOfficer = array("9",'二级教学单位信息员');
    Const UnitLeader = array("10",'职能部门及二级教学单位负责人');
    Const SupervisorDirector = array("11",'督导处长');
    Const SchoolLeader = array("12",'校级领导');
    Const Manage = array("13",'管理员');
    Const OutsideSupervisor = array("16",'外聘督导');
    Const MajorUnitLeader = array("17",'专业负责人');
    Const CadreUnitLeader = array("18",'科级干部');

    function __construct(){
        $this->EnumTypes = array(self::Admin,self::Teacher,self::Student,self::SchoolSupervisor,self::UnitSupervisorGroupLeader,self::UnitSupervisor,self::ExternalSupervisor,self::StudentInfoOfficer,self::UnitStudentInfoOfficer,self::UnitLeader,self::SupervisorDirector,self::SchoolLeader,self::Manage,self::OutsideSupervisor,self::MajorUnitLeader,self::CadreUnitLeader);
    }
}

//听课类型（校||二级）
class AttendType extends XPHEnum
{
    Const School = array("1",'校督导');
    Const Unit = array("2",'二级督导');
    Const Outside = array("3",'外聘督导');
    Const Teacher = array("4",'教师');
    Const UnitLeader = array("5",'领导干部');
    Const MajorUnitLeader = array("6",'专业负责人');
    function __construct(){
        $this->EnumTypes = array(self::School,self::Unit,self::Outside,self::Teacher,self::UnitLeader,self::MajorUnitLeader);
    }
}
//回馈类型（校||二级）
class FeedBackSubType extends XPHEnum
{
    Const School = array("1",'校级');
    Const Unit = array("2",'二级教学单位');

    function __construct(){
        $this->EnumTypes = array(self::School,self::Unit);
    }
}

//配置类型（
class SelectType extends XPHEnum
{
    Const CourseType = array("1",'课程类别');
    Const ListenType = array("2",'听课类别');

    function __construct(){
        $this->EnumTypes = array(self::CourseType,self::ListenType);
    }
}


//未被听课身份筛选
class NoAttendType extends XPHEnum
{

    Const Supervisor = array("0",'未被所有督导听课');
    Const School = array("1",'未被校督导听课');
    Const Unit = array("2",'未被二级分院督导听课');
    Const Outside = array("3",'未被外聘督导听课');
    Const Teacher = array("4",'未被教师听课');

    function __construct(){
        $this->EnumTypes = array(self::Supervisor,self::School,self::Unit,self::Outside,self::Teacher);
    }
}











//听课类型
class AttendStatus extends XPHEnum
{    
    Const Deleted = array("0",'已删除');
    Const Save = array("1",'未提交');
    Const Submit = array("2",'已提交');
    
    function __construct(){
        $this->EnumTypes = array(self::Deleted,self::Save,self::Submit);
    }
}

// 课程名称（听课表）已废弃，取数据库
class CourseName extends XPHEnum
{
	Const BasicCourse = array("1",'基础课');
	Const ProfessionalBasicCourse = array("2",'专业基础课');
    Const ProfessionalCourse = array("3",'专业课');
    
    function __construct(){
    	$this->EnumTypes = array(self::BasicCourse,self::ProfessionalBasicCourse,self::ProfessionalCourse);
    }
}

// 年龄层次（听课表）
class AgeGroups extends XPHEnum
{
    Const OldAge = array("1",'老');
    Const MiddleAge = array("2",'中');
    Const Youth = array("3",'青');
    
    function __construct(){
        $this->EnumTypes = array(self::OldAge,self::MiddleAge,self::Youth);
    }
}

// // 教师属性（听课表）
// class TeachersAttribute extends XPHEnum
// {
//     Const FullTimeTeacher = array("1",'专任教师');
//     Const SchoolPartTimeTeacher = array("2",'校内兼职');
//     Const CompanyPartTimeTeacher = array("3",'企业兼职');
//     Const ForeignTeachetsPartTimeTeacher = array("4",'外校兼职');
    
//     function __construct(){
//         $this->EnumTypes = array(self::FullTimeTeacher,self::SchoolPartTimeTeacher,self::CompanyPartTimeTeacher,self::ForeignTeachetsPartTimeTeacher);
//     }
// }

// 教师属性（听课表）--0508新
class TeachersAttribute extends XPHEnum
{
    Const First = array("1",'工勤人员');
    Const Second = array("2",'行政人员');
    Const Third = array("3",'教辅人员');
    Const Fourth = array("4",'专任教师');
    Const Fifth = array("5",'专职辅导员');
    Const Sixth = array("6",'外聘教师');
    // Const Seventh = array('7','企业兼职');
    Const Eighth = array('8','无');
    Const Nine = array('9','纪检干事');
    
    function __construct(){
        // $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth,self::Sixth,self::Seventh,self::Eighth);
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth,self::Sixth,self::Eighth,self::Nine);
    }
}
// // 教师职称（听课表）
// class Title extends XPHEnum
// {
//     Const Assistant = array("1",'助教');
//     Const Lecturer = array("2",'讲师');
//     Const AssociateProfessor = array("3",'副教授');
//     Const Professor = array("4",'教授');
    
//     function __construct(){
//         $this->EnumTypes = array(self::Assistant,self::Lecturer,self::AssociateProfessor,self::Professor);
//     }
// }

// 教师职称（听课表）--0508新
class Title extends XPHEnum
{
    Const First = array("1",'助教');
    Const Second = array("2",'讲师');    
    Const Third = array("3",'高级讲师');
    Const Fourth = array("4",'副教授');
    Const Fifth = array("5",'教授');
    Const Sixth = array("6",'助理工程师');
    Const Seventh = array("7",'工程师');
    Const Eighth = array("8",'高级工程师');
    Const Ninth = array("9",'正高级工程师');
    Const Tenth = array("10",'助理馆员');
    Const Eleventh = array("11",'馆员');
    Const Twelfth = array("12",'副研究馆员');
    Const Thirteenth = array("13",'研究馆员');
    Const Fourteenth  = array("14",'研究实习员');
    Const Fifteenth  = array("15",'助理研究员');
    Const Sixteenth   = array("16",'研究员');
    Const Seventeenth  = array("17",'副研究员');
    Const Eighteenth  = array("18",'助理实验师');
    Const Nineteenth = array("19",'实验师');
    Const Twentieth = array("20",'高级实验师');
    Const TwentyFirst  = array("21",'中学一级教师');
    Const TwentySecond = array("22",'中学二级教师');
    Const TwentyThird = array("23",'会计师');
    Const TwentyFourth = array("24",'高级会计师');
    Const TwentyFifth = array("25",'经济师');
    Const TwentySixth = array("26",'高级经济师'); 
    Const TwentySeventh = array("27",'副主任医师'); 
    Const TwentyEighth = array("28",'中级经济师');
    Const TwentyNinth = array("29",'高级统计师'); 
    Const Thirtieth = array("30",'主任护师');
    Const ThirtyFirst = array("31",'中级会计师'); 
    Const ThirtySecond = array("32",'主任医师');
    Const ThirtyThird = array("33",'总导演');
    Const ThirtyFourth = array("34",'保安员二级讲师');
    Const ThirtyFifth = array("35",'软件工程师');
    Const ThirtySixth = array("36",'浙江省技术经纪人');    
    Const ThirtySeventh = array("37",'中级'); 
    Const ThirtyEighth = array("38",'高级');
    Const ThirtyNinth = array("39",'高工');
    Const Fortieth = array("40",'副高');
    Const FortyFirst = array("41",'副教授高级工程师');
    Const FortySecond = array("42",'高级技师');
    Const FortyThird = array("43",'无');
    Const FortyFourth = array("44",'副主任护师');
    Const FortyFifth = array("45",'副主任技师');
    Const FortySixth = array("46",'教务处干事');
    Const FortySeventh = array("47",'培训经理');
    Const FortyEighth = array("48",'人力行政总监');
    Const FortyNinth = array("49",'主管护师');
    Const Fifty = array("50",'主管治疗师');
    Const FiftyFirst = array("51",'助理教授');
    Const FiftySecond = array("52",'总经理（高级工程师）');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth,self::Sixth,self::Seventh,self::Eighth,self::Ninth,self::Tenth,self::Eleventh,self::Twelfth,self::Thirteenth,self::Fourteenth,self::Fifteenth,self::Sixteenth,self::Seventeenth,self::Eighteenth,self::Nineteenth,self::Twentieth,self::TwentyFirst,self::TwentySecond,self::TwentyThird,self::TwentyFourth,self::TwentyFifth,self::TwentySixth,self::TwentySeventh,self::TwentyEighth,self::TwentyNinth,self::Thirtieth,self::ThirtyFirst,self::ThirtySecond,self::ThirtyThird,self::ThirtyFourth,self::ThirtyFifth,self::ThirtySixth,self::ThirtySeventh,self::ThirtyEighth,self::ThirtyNinth,self::Fortieth,self::FortyFirst,self::FortySecond,self::FortyThird,
    self::FortyFourth,self::FortyFifth,self::FortySixth,self::FortySeventh,self::FortyEighth,self::FortyNinth,self::Fifty,self::FiftyFirst,self::FiftySecond);
    }
}



// 教师教学水平与教学效果评价类型
class TeachingType extends XPHEnum
{
    Const Content = array("1",'教学内容');
    Const Implementation = array("2",'教学实施');
    Const StudentStatus = array("3",'学生状况');    
    
    function __construct(){
        $this->EnumTypes = array(self::Content,self::Implementation,self::StudentStatus);
    }
}
// 教学内容（30分）（听课表）
class TeachingContent extends XPHEnum
{
    // Const First = array("1",'教学准备',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'1',
    // array(array(0,10,'上课铃响后才开启电脑、投影等，影响教学时间；出现教室冲突、教具不足等问题，影响正常上课。'),array(12,15,'能在铃响前到教室，教具、教学资料有准备'),array(16,20,'教具齐全，教学资料、教学载体丰富，能提前5分钟以上到教室准备。')));
    // Const Second = array("2",'教学内容',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'2',
    // array(array(0,10,'备课不充分或不认真；教学内容陈旧，或和岗位实际不太相符，内容选取偏多或偏少偏难，或教学内容有明显错误。'),array(12,15,'备课较充分，教学内容选取基本恰当，有一定的课程思政。'),array(16,20,'备课认真且充分，教学内容选取合理、充足，专业知识及能力扎实，职业素养教育、课程思政融入课堂教学。')));
    Const First = array("1",'教学准备',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'1',
    array(array(0,10,'上课铃响后才开启电脑、投影等，影响教学时间；出现教室冲突、教具不足等问题，影响正常上课。'),array(11,15,'能在铃响前到教室，教具、教学资料有准备'),array(16,20,'教具齐全，教学资料、教学载体丰富，能提前5分钟以上到教室准备。')));
    Const Second = array("2",'教学内容',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'2',
    array(array(0,10,'备课不充分或不认真；教学内容陈旧，或和岗位实际不太相符，内容选取偏多或偏少偏难，或教学内容有明显错误。'),array(11,15,'备课较充分，教学内容选取基本恰当，有一定的课程思政。'),array(16,20,'备课认真且充分，教学内容选取合理、充足，专业知识及能力扎实，职业素养教育、课程思政融入课堂教学。')));
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second);
    }
}

//实训课教学能力模块
class AttendsTeachingContent extends XPHEnum
{
    // Const First = array("1",'教学准备',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'1',
    // array(array(0,10,'上课铃响后才开启电脑、投影等，影响教学时间；出现教室冲突、教具不足等问题，影响正常上课。'),array(12,15,'能在铃响前到教室，教具、教学资料有准备'),array(16,20,'教具齐全，教学资料、教学载体丰富，能提前5分钟以上到教室准备。')));
    // Const Second = array("2",'教学内容',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'2',
    // array(array(0,10,'备课不充分或不认真；教学内容陈旧，或和岗位实际不太相符，内容选取偏多或偏少偏难，或教学内容有明显错误。'),array(12,15,'备课较充分，教学内容选取基本恰当，有一定的课程思政。'),array(16,20,'备课认真且充分，教学内容选取合理、充足，专业知识及能力扎实，职业素养教育、课程思政融入课堂教学。')));
    Const First = array("1",'实训准备',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'1',
    array(array(0,10,'上课铃响后才开启电脑、投影、准备器材，影响教学时间；设备故障不报修、材料申报采购不及时。安全教育缺失，安全保障有漏洞。'),array(11,15,'能在铃响前到教室，实训设备、材料、教学文件有准备。有安全教育和保障措施。'),array(16,20,'实训设备、材料准备齐全，摆放整齐有序，实训教学文件齐全，能提前5分钟以上到教室准备。安全教育到位，有保障措施，并严格执行与管理。')));
    Const Second = array("2",'实训内容与设计',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'2',
    array(array(0,10,'实训任务目标不明确；实训内容与岗位职业能力、各证书或竞赛要求没有联系；不符合真实工作业务的内容和流程；实训课教学设计不好，实训重点不突出，未体现课程思政。'),array(11,15,'实训任务目标基本明确；实训内容与岗位职业能力、各证书或竞赛要求基本结合；基本符合真实工作业务的内容和流程；实训课教学设计一般，有课程思政的融入。'),array(16,20,'实训任务目标明确；实训内容与岗位职业能力、各证书或竞赛要求紧密联系；符合真实工作业务的内容和流程；实训课教学设计好，层次清晰，重点突出，有效、合理融入课程思政。')));
    Const Third = array("3",'实训组织与控制',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'3',
    array(array(0,10,'备课不充分或不认真；讲解示范与学生操作时间分配欠合理，讲解示范混乱。'),array(11,15,'能够开展一定的信息化教学，讲解示范与学生操作时间基本合理，有一定的职业素养教育、劳动素养、课程思政。教师之间配合良好。'),array(16,20,'熟练应用信息化教学手段，能采取多种有效教学形式，讲解示范与学生操作时间分配合理，职业素养教育、劳动素养、课程思政融入实训。教师之间配合默契。')));
    Const Fourth = array("4",'操作指导',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'4',
    array(array(0,10,'没有巡回或巡回很少，对学生状态不关注，未检查或考核学生操作项目，不管理课堂纪律，操作指导有明显失误。'),array(11,15,'理论联系实际，能关注学生状态，耐心解答，有检查或考核学生操作项目。'),array(16,20,'理论联系实际，巡回指导；方法得当，耐心引导；及时检查或考核学生操作项目；师生互动有效，充分调动学生学习积极性。')));
    Const Fifth = array("5",'实训效果',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'5',
    array(array(0,10,'教学模式比较死板；讲解示范比较沉闷、学生基本不配合；教学效果较差；出现教学事故。'),array(11,15,'实训组织平稳但没创新；实训活动安全、有效；学生基本配合，能操作；教学效果良好。'),array(16,20,'实训组织有创新；实训活动安全、井然有序；学生实训积极性高，配合度好，实训效果非常好。')));
  
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth);
    }
}

//思政课课堂教学能力模块
class Attend3TeachingContent extends XPHEnum
{
    // Const First = array("1",'教学准备',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'1',
    // array(array(0,10,'上课铃响后才开启电脑、投影等，影响教学时间；出现教室冲突、教具不足等问题，影响正常上课。'),array(12,15,'能在铃响前到教室，教具、教学资料有准备'),array(16,20,'教具齐全，教学资料、教学载体丰富，能提前5分钟以上到教室准备。')));
    // Const Second = array("2",'教学内容',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'2',
    // array(array(0,10,'备课不充分或不认真；教学内容陈旧，或和岗位实际不太相符，内容选取偏多或偏少偏难，或教学内容有明显错误。'),array(12,15,'备课较充分，教学内容选取基本恰当，有一定的课程思政。'),array(16,20,'备课认真且充分，教学内容选取合理、充足，专业知识及能力扎实，职业素养教育、课程思政融入课堂教学。')));
    Const First = array("1",'教学准备',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'1',
    array(array(0,10,'上课铃响后才开启电脑、投影等；出现教室冲突、教具不足等问题，影响正常上课。没有自建的课程教学资源；未选取规定教材与自编地方特色讲义，备课不充分或不认真。'),array(11,15,'能在铃响前到教室；教具、教学资料有准备。课程资源一般，选取规定教材，无自编地方特色讲义。备课较充分'),array(16,20,'教具、教学资料齐全；能提前5分钟以上到教室准备。
    课程资源丰富，选取规定教材与自编的具备地方特色的讲义。备课认真且充分。')));
    Const Second = array("2",'教学设计',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'2',
    array(array(0,10,'没有明确的思政教学目标；思政课堂教学没有教学设计，课堂教学形式单一，方法陈旧，教学评价不合理；思政教学效果较差。'),array(11,15,'有思政课程教学目标；有思政课堂教学设计，但效果一般；思政教学形式和教学方法、教学评价等基本能够符合教学要求；思政教学效果一般。'),array(16,20,'能够很好地实现思政课程教学目标；思政课堂教学设计科学，逻辑清晰；思政教学形式多样，评价合理科学；思政教学能够达到共鸣，效果显著。')));
    Const Third = array("3",'教学内容',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'3',
    array(array(0,10,'不能结合专业特点将社会主义核心价值观的基本内涵、主要内容及人伦关系、道德准则、职业行为规范、法治理念、中华传统文化、四史教育等融入到思政课堂教学中；教学内容陈旧，内容选取偏多或偏少偏难；或教学内容有明显错误；不能体现新思想、新理论。'),array(11,15,'基本能够结合专业特点将社会主义核心价值观的基本内涵、主要内容及人伦关系、道德准则、职业行为规范、法治理念、中华传统文化、四史教育等融入到思政课堂教学中；思政课教学内容选取基本恰当，知识讲授较准确，有一定逻辑性；基本能够体现新思想新理论。'),array(16,20,'能将社会主义核心价值观的基本内涵、主要内容及人伦关系、道德准则、职业行为规范、法治理念、中华传统文化、四史教育等有机、有效地与专业特点相结合，融入到教学中；思政课教学内容选取恰当，知识点讲授准确，逻辑性强；具有科学性和系统性，能够体现最新思想、新理论。')));
    Const Fourth = array("4",'教学实施',array(40,39,39,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'4',
    array(array(0,10,'出现迟到早退接打电话等现象，衣冠不正，举止不端庄，语言粗俗或出现反面教育；教态不自然，声音过轻或扩音器噪音重；课堂教学模式比较死板；教学进度与授课计划有较大出入；无信息化教学；课堂组织不够清晰流畅，教学时间分配不合理；课堂不够活跃，对学生状态不关注，不管理课堂纪律；讲解混乱，操作出现失误。'),array(11,30,'不迟到不早退不接打电话，衣冠基本整洁，举止自然；教态基本规范，语言规范但平淡；教学组织平稳但没创新；教学进度与授课计划差异2次课以内；能够开展一定的信息化教学；教学实施基本流畅，教学时间分配基本合理；能关注学生状态，课堂状态一般。'),array(31,40,'教师不迟到不早退不接打电话，衣冠整洁，举止端庄，教风严谨，为人师表，体现很好的师德修养；教态自然，语言规范、声音洪亮、富有激情和感染力；教学载体丰富，教学组织有创新；教学进度与授课计划一致；熟练应用信息化教学手段，能采取多种有效教学形式；教学实施顺畅有效，教学时间分配合理；能因材施教，师生互动有效，充分调动学生学习积极性。')));
    // Const Fifth = array("5",'实训效果',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'5',
    // array(array(0,12,'教学模式比较死板；讲解示范比较沉闷、学生基本不配合；教学效果较差；出现教学事故。'),array(11,15,'实训组织平稳但没创新；实训活动安全、有效；学生基本配合，能操作；教学效果良好。'),array(16,20,'实训组织有创新；实训活动安全、井然有序；学生实训积极性高，配合度好，实训效果非常好。')));
  
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth);
    }
}

//体育课课堂教学能力模块
class Attend4TeachingContent extends XPHEnum
{
    // Const First = array("1",'教学准备',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'1',
    // array(array(0,10,'上课铃响后才开启电脑、投影等，影响教学时间；出现教室冲突、教具不足等问题，影响正常上课。'),array(12,15,'能在铃响前到教室，教具、教学资料有准备'),array(16,20,'教具齐全，教学资料、教学载体丰富，能提前5分钟以上到教室准备。')));
    // Const Second = array("2",'教学内容',array(20,19,18,17,16,15,14,13,12,10,8,6,4,2,0),'2',
    // array(array(0,10,'备课不充分或不认真；教学内容陈旧，或和岗位实际不太相符，内容选取偏多或偏少偏难，或教学内容有明显错误。'),array(12,15,'备课较充分，教学内容选取基本恰当，有一定的课程思政。'),array(16,20,'备课认真且充分，教学内容选取合理、充足，专业知识及能力扎实，职业素养教育、课程思政融入课堂教学。')));
    Const First = array("1",'教学准备',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'1',
    array(array(0,10,'教学准备不够充分，教具、教案、课件等有缺失；场地不符合教学要求，师生服装不符合体育课要求；运动器械摆放杂乱，不够充足或使用有障碍；安全教育和保障措施有欠缺；上课铃响后到教学场地'),array(11,15,'教学准备较充分，教具教案等有准备；场地及师生服装基本符合要求；教学运动器材有准备，但不够齐全、充足；有一定的安全教育和保障措施；能在铃响前到教学场地'),array(16,20,'备课充分，教具、教案、课件等教学资料齐全规范；场地符合教学及运动要求，师生服装符合体育课要求；教学所需的运动器材等设施设备摆放有序、齐全、充足完好，使用无障碍；安全教育及保障到位；能提前到教学场所准备。')));
    Const Second = array("2",'教学内容',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'2',
    array(array(0,10,'教学任务目标不明确，重难点不突出；教学内容选取不合理；教学进度与教学安排不一致；教材选用不符合要求。'),array(11,15,'教学目标基本明确；教学内容基本合适，并有一定的育人理念；教学进度与教学安排基本一致；教材选用不够优质。'),array(16,20,'教学目标清晰，重点、难点突出；教学内容选取恰当，体现育人理念；教学进度与教学安排一致；教材选用国规教材或自编教材，并符合要求。')));
    Const Third = array("3",'教学设计',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'3',
    array(array(0,10,'讲练不能结合；训练组织无序，运动量偏大或偏小，教学时间分配不合理；教学方法不符合运动课程或项目；未体现课程思政。'),array(11,15,'有讲解有练习；训练相对有序，强度密度基本合适，运动量比较适中；时间分配比较合理；运用了一定的教学手段；融入思政教学。'),array(16,20,'注重育训结合、讲练结合；训练组织有序，强度密度合适，运动量适宜，时间分配合理；手段方法运用得当，适合具体的运动项目和学生身体状况，有助于学生运动兴趣、技能与能力的培养；有效实施课程思政。')));
    Const Fourth = array("4",'教学实施',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'4',
    array(array(0,10,'有迟到、早退情况，教态生硬；讲解或示范动作不熟练，纠错不及时；不能及时应变；未能因材施教；防范措施和指导方法不恰当；讲解动作不规范。'),array(11,15,'无迟到早退，教态正常；讲解或动作示范相对熟练，能对错误动作进行纠正，能关注学生状态；能判断课堂进程，有一定应变能力；对学生有一定的引导和鼓励；有一定的防范措施和指导方法；讲解动作规范。'),array(16,20,'不迟到不早退，教态自然大方；讲解清晰明确，示范动作规范准确熟练，纠错及时准确，兼顾各层次学生；应变能力良好，能及时判断课堂进程，调整课堂内容；注重因材施教，善于引导、鼓励学生，能有效帮助学生逐步提高动作技能；防范措施和指导方法得当；讲解动作规范美观，有效合理控制和调整运动负荷和心理负荷。')));
    Const Fifth = array("5",'教学效果',array(20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'5',
    array(array(0,10,'教学目标达成度低；课堂气氛沉闷，师生互动少，学生不能正确理解、领会和展示要领动作，运动没有热情，参与度低。'),array(11,15,'教学目标达成度一般；课堂气氛不够浓厚，师生有互动，学生能基本领会和展示要领动作，参与度一般。'),array(16,20,'教学目标达成度高；课堂气氛浓厚，师生互动积极，学生能正确理解、领会和展示教学活动的基本要领，运动热情激发，参与度高，反映良好。')));
  
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth);
    }
}


// 教学实施（70分）（听课表）
class TeachingImplementation extends XPHEnum
{
    // Const First =array('1','教学实施',array(35,34,32,30,28,27,25,23,21,20,16,12,8,4,0),'3',array(array(0,20,'课堂组织不够清晰流畅，教学进度与授课计划有较大出入，没有信息化教学。课堂不够活跃，对学生状态不关注，不管理课堂纪律，讲解混乱，操作出现失误。'),array(21,27,'能够开展一定的信息化教学，教学实施基本流畅，教学时间分配基本合理。能关注学生状态，课堂状态一般。'),array(28,35,'熟练应用信息化教学手段，能采取多种有效教学形式，教学实施顺畅有效，教学时间分配合理，能因材施教，师生互动有效，充分调动学生学习积极性。')));
    // Const Second = array("2",'课堂效果',array(25,24,23,22,21,20,19,18,17,16,15,14,12,9,6,3,0),'4',array(array(0,14,'课堂教学模式比较死板；课堂比较沉闷、学生基本不配合；教学效果较差；出现教学事故。'),array(15,19,'教学组织平稳但没创新；教学活动安全、有效；有一定的课堂互动，学生基本配合；教学效果良好。'),array(20,25,'教学组织有创新；教学活动安全、有效；课堂有感染力，学生配合程度高，课堂气氛活跃；教学效果非常好。')));
    Const First =array('1','教学实施',array(35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'3',array(array(0,20,'课堂组织不够清晰流畅，教学进度与授课计划有较大出入，没有信息化教学。课堂不够活跃，对学生状态不关注，不管理课堂纪律，讲解混乱，操作出现失误。'),array(21,27,'能够开展一定的信息化教学，教学实施基本流畅，教学时间分配基本合理。能关注学生状态，课堂状态一般。'),array(28,35,'熟练应用信息化教学手段，能采取多种有效教学形式，教学实施顺畅有效，教学时间分配合理，能因材施教，师生互动有效，充分调动学生学习积极性。')));
    Const Second = array("2",'课堂效果',array(25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'4',array(array(0,14,'课堂教学模式比较死板；课堂比较沉闷、学生基本不配合；教学效果较差；出现教学事故。'),array(15,20,'教学组织平稳但没创新；教学活动安全、有效；有一定的课堂互动，学生基本配合；教学效果良好。'),array(21,25,'教学组织有创新；教学活动安全、有效；课堂有感染力，学生配合程度高，课堂气氛活跃；教学效果非常好。')));
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second);
    }
}
// 教学水平总体评价（听课表）
class TeachingLevel extends XPHEnum
{
    Const First = array("1",'A','90以上');
    Const Second = array("2",'B','80-90');
    Const Third = array("3",'C','70-80');
    Const Fourth = array("4",'D','60-70');
    Const Fifth = array("5",'E','60以下');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth);
    }
}
// 学生状况（100分）（听课表）
class StudentStatus extends XPHEnum
{
    // Const First = array("1",'学生状况',array(100,95,90,85,80,78,74,70,66,62,60,48,36,24,12,0),'5',array(array(0,60,'有学生迟到、早退、睡觉、聊天、玩手机游戏等现象；随意进出教室；不服从教师管理，不配合教师教学。'),array(62,78,'有一定互动，大多数学生能够认真听讲、记笔记，对老师尊敬礼貌。'),array(80,100,'课堂纪律好，听课认真，教学过程参与度高，理解课堂教学知识，主动维护教学环境整洁。')));
    Const First = array("1",'学生状况',array(100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'5',array(array(0,50,'有学生迟到、早退、睡觉、聊天、玩手机游戏等现象；随意进出教室；不服从教师管理，不配合教师教学。'),array(51,80,'有一定互动，大多数学生能够认真听讲、记笔记，对老师尊敬礼貌。'),array(81,100,'课堂纪律好，听课认真，教学过程参与度高，理解课堂教学知识，主动维护教学环境整洁。')));
    Const Second = array("2",'学生状况',array(100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'5',array(array(0,50,'有学生迟到、早退、睡觉、聊天、玩手机游戏等现象；随意进出教室；不服从教师管理，不配合教师教学。'),array(51,80,'课堂纪律良好，穿戴必要劳保用品。大多数学生教学过程主动参与，完成实训任务，整理到位。'),array(81,100,'课堂纪律井然有序，注重理论联系实际，教学过程主动参与，操作规范、熟练；穿戴必要的劳保用品，自觉维护实训环境整洁。')));
    Const Third = array("3",'课堂效果',array(100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'5',array(array(0,50,'课堂比较沉闷、学生基本不配合；教学效果较差；出现教学事故；未有效管控课堂，有学生迟到、早退、睡觉、聊天、玩手机游戏等现象；随意进出教室；不服从教师管理，不配合教师教学。在家国情怀、法治意识、人文素养、道德修养提升和政治认同上没有明显教学效果。'),array(51,80,'教学活动安全、有效，能够培养一定的家国情怀、法治意识；有一定的课堂互动，学生基本配合；教学效果一般。大多数学生能够认真听讲、记笔记，对老师尊敬礼貌。在家国情怀、法治意识、人文素养、道德修养提升和政治认同上教学效果一般。'),array(81,100,'教学活动安全、有效，实现政治认同；课堂有感染力，学生配合程度高，课堂气氛活跃，培养学生的家国情怀、法治意识；教学效果非常好，提高了学生的文化素养、道德修养等等。学生课堂纪律好，听课认真，教学过程参与度高，理解课堂教学知识，主动维护教学环境整洁。')));
    Const Fourth = array("4",'学生状况',array(100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0),'5',array(array(0,50,'有学生迟到、早退、聊天、玩手机，随意离开教学场地等，不服从教师管理，不配合教师教学，衣团队合作差，衣着言行不符合练习要求，训练场地脏乱。'),array(51,80,'课堂纪律良好，大部分学生能认真听讲、能规范练习，能认真参与，有团队合作，衣着言行比较符合练习要求，驯良场所相对干净整洁。'),array(81,100,'课堂纪律井然有序，认真听讲，规范练习，主动参与，团队合作较好，衣着言行符合运动及项目练习要求，保持训练场所干净整洁。')));
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth);
    }
}


// 教学水平总体评价（听课表）
class TeachingEffect extends XPHEnum
{
    Const First = array("1",'A','90以上');
    Const Second = array("2",'B','80-90');
    Const Third = array("3",'C','70-80');
    Const Fourth = array("4",'D','60-70');
    Const Fifth = array("5",'E','60以下');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth);
    }
}

// 教学准备开展情况（听课表）
class TeachingReadiness extends XPHEnum
{
    Const First = array("1",'课程标准',array('有','无'));
    Const Second = array("2",'整体设计',array('有','无'));
    Const Third = array("3",'单元设计',array('有','无'));
    Const Fourth = array("4",'授课计划',array('有','无'));
    Const Fifth = array("5",'教学课件',array('有','无'));
    Const Sixth = array("6",'教材讲义',array('有','无'));
    Const Seventh = array("7",'教师迟到',array('是','否'));
    Const Eighth = array("8",'教师早退',array('是','否'));
    Const Ninth = array("9",'进度一致',array('是','否'));
    Const Tenth = array("10",'板书情况',array('有','无'));
    Const Eleventh = array("11",'教学姿态',array('站','坐'));
    Const Twelfth = array("12",'师生互动',array('适当','不适当'));
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth,self::Sixth,self::Seventh,self::Eighth,self::Ninth,self::Tenth,self::Eleventh,self::Twelfth);
    }
}
// 学生常态（听课表）
class StudentsNorm extends XPHEnum
{
    Const First = array("1",'应到人数');
    Const Second = array("2",'实到人数');
    Const Third = array("3",'按时到课人数');
    Const Fourth = array("4",'按时到课率%');
    Const Fifth = array("5",'低头睡觉人数');
    Const Sixth = array("6",'迟到早退人数');
    Const Seventh = array("7",'旷课人数');
    Const Eighth = array("8",'缺课人数');
    Const Ninth = array("9",'玩手机人数');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth,self::Fifth,self::Sixth,self::Seventh,self::Eighth,self::Ninth);
    }
}

//课堂设施设备完好情况
class ClassroomFacilities extends XPHEnum
{
    Const IsGood = array("1",'好');
    Const IsBad = array("2",'不好');
    
    function __construct(){
        $this->EnumTypes = array(self::IsGood,self::IsBad);
    }
}
//课堂环境卫生情况
class ClassroomEnvironmental extends XPHEnum
{
    Const IsGood = array("1",'好');
    Const IsGeneral = array("2",'一般');
    Const IsBad = array("3",'差');
    
    function __construct(){
        $this->EnumTypes = array(self::IsGood,self::IsGeneral,self::IsBad);
    }
}



//反馈所属表
class FeedbackType extends XPHEnum
{
    Const Supervisor = array("Supervisor",'督导反馈','supervisor',1);
    Const Student = array("Student",'学生信息员反馈','student',2);
    
    function __construct(){
        $this->EnumTypes = array(self::Supervisor,self::Student);
    }
}
//督导反馈类型
class SupervisorFeedbackType extends XPHEnum
{
    Const School = array("1",'校级');
    Const Secondary = array("2",'二级教学单位');
    Const GroupLeader = array("3",'二级教学单位组长');
    Const Admin = array("4",'管理员');
    Const Outside = array("5",'外聘督导');
    
    function __construct(){
        $this->EnumTypes = array(self::School,self::Secondary,self::GroupLeader,self::Admin,self::Outside);
    }
}

//学生反馈类型
class StudentFeedbackType extends XPHEnum
{
    Const School = array("1",'校级');
    Const Secondary = array("2",'二级教学单位');
    
    function __construct(){
        $this->EnumTypes = array(self::School,self::Secondary);
    }
}

//反馈状态
class FeedBackStatus extends XPHEnum
{
    Const ToAudit = array("1",'待审核');
    Const HaveWrite = array("2",'已处理');
    Const End = array("3",'已结束');
    
    function __construct(){
        $this->EnumTypes = array(self::ToAudit,self::HaveWrite,self::End);
    }
}

//反馈记录类型
class FeedBackRecordSource extends XPHEnum
{
    Const Create = array("1",'新建');
    Const Forward = array("2",'转发');
    Const Submit = array("3",'提交至管理员');
    Const DoDeal = array("4",'填写处理意见和结果');
    Const DoEnd = array("5",'结束');
    Const CancelEnd = array("6",'取消结束');
    
    function __construct(){
        $this->EnumTypes = array(self::Create,self::Forward,self::Submit,self::DoDeal,self::DoEnd,self::CancelEnd);
    }
}

//其他表类型
class OtherTableType extends XPHEnum
{
    Const Table1 = array("1",'教学督导专题调研表','Table1');
    Const Table2 = array("2",'督导教学巡（检）查情况记录表','Table2');
    Const Table3 = array("3",'督导巡考情况记录表','Table3');
    Const Table4 = array("4",'教学状态专项检查表','Table4');
    Const Table5 = array("5",'学生顶岗实习巡查记录表','Table5');
    // Const Table6 = array("6",'信息员信息反馈表','Table6');
    
    function __construct(){
        $this->EnumTypes = array(self::Table1,self::Table2,self::Table3,self::Table4,self::Table5);
    }
}

//其他表类型
class Table2Type extends XPHEnum
{
    Const First = array('1','教学秩序');
    Const Second = array('2','教学各环节');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second);
    }
}

//其他表类型
class Table5Eval extends XPHEnum
{
    Const First = array('1','满意');
    Const Second = array('2','基本满意');
    Const Third = array('3','不满意');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third);
    }
}

// 搜索类型
class SearchType extends XPHEnum
{
    Const First = array('1','课程名称');
    Const Second = array('2','教师名称');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second);
    }
}



//文件上传类型
class UploadType extends XPHEnum
{
  
    Const AttendImg = array("1",'督导听课','attend_img');
    Const SupervisionOtherImg = array("2",'其他材料','SupervisionOther_img');
    Const LargeImg = array("3",'首页大屏图文','imagetext');


    function __construct(){
        $this->EnumTypes = array(self::AttendImg);
        $this->EnumTypes = array(self::SupervisionOtherImg);
        $this->EnumTypes = array(self::LargeImg);

    }
}


class CommonDocument extends XPHEnum
{
    Const Excel = array("1",array('xls','xlsx'),'excel.png');
    Const Pdf = array("2",array('pdf'),'pdf.png');
    Const Word = array("3",array('docx','doc'),'word.png');
    Const Img = array("4",array('png','jpg','jpeg','gif'),'img.png');
    Const Ppt = array("5",array('ppt','pptx'),'ppt.png');
    Const Text = array("6",array('txt'),'text.png');
    Const Php = array("7",array('php'),'php.png');

    function __construct(){
        $this->EnumTypes = array(self::Excel,self::Pdf,self::Word,self::Img,self::Ppt,self::Text,self::Php);
    }
}


class TotalSorce extends XPHEnum
{

   Const First = array("1",'90及以上','90');
    Const Second = array("2",'80-90分(含80分,不含90分)','80-90');
    Const Third = array("3",'80分以下(不含80分)','80');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third);
    }

}

//课堂教学评价图片类型
class AttendImgType extends XPHEnum
{

   Const First = array("1",'听课记录','课堂教学评价');
    Const Second = array("2",'意见或建议','课堂教学评价');
    Const Third = array("3",'学生常态','课堂教学评价');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third);
    }

}

//课堂教学评价图片类型
class AdminDeptList extends XPHEnum
{

   Const First = array("1",'所有部门',array(
    '财经学院', '商贸学院', '交通学院', '机电工程学院', '建筑工程学院', '公共基础教学部（体育部）、马克思主义学院', '鉴湖学院（纺织学院、黄酒学院、健康学院）', '设计与艺术学院（腾讯云国际互联网学院）', '保卫处(人武部)', '产教融合处', '党委办公室、学院办公室', '发展规划处(高职教育研究所)', '工会、离退休办', '工业设计基地', '国际交流与合作处、港澳台事务办公室', '后勤基建处', '计划财务处', '纪委办', '继续教育学院', '教务处', '科学技术处(科技合作处)', '人事处(教师工作部)、教师教学发展中心', '图书馆', '团委、创业学院', '校领导', '信息技术中心', '学生工作部(学生处)', '招生就业处(校友办)', '质量管理处、审计处', '资产管理处、采购中心', '组织部(人才办)、宣传统战部'
    )); 
    Const Second = array("1",'开课部门',array(
        '财经学院', '商贸学院', '交通学院', '机电工程学院', '建筑工程学院', '公共基础教学部（体育部）、马克思主义学院', '鉴湖学院（纺织学院、黄酒学院、健康学院）', '设计与艺术学院（腾讯云国际互联网学院）'
    ));
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second);
    }

}


//首页大屏板块类型
class ImageType extends XPHEnum
{

   Const First = array("1",'公告通知','首页大屏板块');
    Const Second = array("2",'工作动态','首页大屏板块');
    Const Third = array("3",'制度文件','首页大屏板块');
    Const Fourth = array("4",'质量研究和质量文化','首页大屏板块');
    
    function __construct(){
        $this->EnumTypes = array(self::First,self::Second,self::Third,self::Fourth);
    }

}